package com.spdd.mt.biz.config;

import lombok.Data;
import lombok.ToString;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;

import java.util.List;

@Data
@ToString
@RefreshScope
@Configuration
public class ConfigBean {

    // @Value("${mobile.param.dyPublicKeyPath}")
    // private String dyPublicKeyPath;
    //
    // @Value("${mobile.param.selfPrivateKeyPath}")
    // private String selfPrivateKeyPath;

    // @Value("${channel.dddy.host}")
    // private String dddyHost;

    // @Value("${channel.dddy.readTimeout}")
    // private int dddyReadTimeout;

    // @Value("${channel.dddy.tokenKey}")
    // private String tokenKey;

    // @Value("${channel.dddy.tokenExpireTime}")
    // private int tokenExpireTime;

    /** 定时任务开关 */
    @Value("${mobile.param.batchSwitch}")
    private String batchSwitch;

    // @Value("#{'${channel.dddy.appIdInfo}'.split(',')}")
    // private List<String> appIdInfos;

    /** 美团商品状态通知地址 */
    @Value("${channel.mt.productNotify}")
    private String mtProductNotifyUrl;

    /** SPDD 下单地址 */
    @Value("${channel.spdd.host}")
    private String host;

    @Value("${channel.spdd.readTimeout}")
    private int readTimeout;

    @Value("${mobile.param.statisticFilePath}")
    private String statisticFilePath;

    /** 生成对账和统计的商户号 */
    @Value("#{'${mobile.param.merchNoList}'.split(',')}")
    private List<String> appIds;

    @Value("${mobile.param.createFilePath}")
    private String createFilePath;

    /** 不验证签名的商户号 */
    @Value("#{'${mobile.param.unverifiedAppIds}'.split(',')}")
    private List<String> unverifiedAppIds;

    // @Value("${mobile.param.checkCarrierCode:true}")
    // private Boolean checkCarrierCode;
    //
    // @Value("${mobile.param.cmPhoneNumberRegex}")
    // private String cmPhoneNumberRegex;
    //
    // @Value("${mobile.param.cuPhoneNumberRegex}")
    // private String cuPhoneNumberRegex;
    //
    // @Value("${mobile.param.ctPhoneNumberRegex}")
    // private String ctPhoneNumberRegex;

    /** 允许的最大订单回调通知次数 */
    @Value("${mobile.param.maxNotifyTimes}")
    private Integer maxNotifyTimes;

    /** 允许一次重发的最大订单数量 */
    @Value("${mobile.param.reorderQueryCount}")
    private Integer reorderQueryCount;

    /** 允许的最大重查询重试的最大回溯时间（小时） */
    @Value("${mobile.param.reorderQueryTime}")
    private Integer reorderQueryTime;

    /** 允许的最大重新下单次数 */
    @Value("${mobile.param.maxReorderTimes}")
    private Integer maxReorderTimes;

}
